package controls;


import java.util.TimerTask;

import net.java.games.input.Component;
import net.java.games.input.Controller;
import net.java.games.input.Event;
import net.java.games.input.EventQueue;


public class GamePadCheckTask extends TimerTask
{
   private int   motorL  = 0;
   private int   motorR  = 0;
   private int   motorLs = 1500;
   private int   motorRs = 1500;
   private float xAchse;
   private float yAchse;
   private Controller   gamePad;

   public GamePadCheckTask()
   {
      this.gamePad = GamePad.getGamePadInstance();
   }

   @Override
   public void run()
   {
      gamePad.poll();
      EventQueue queue = gamePad.getEventQueue();
      Event event = new Event();

//      while (queue.getNextEvent(event))
      {
         
      }
//      {
//         Component comp = event.getComponent();
//
//         System.err.println("Name : " + event.getComponent().getName()
//               + " ID: " + event.getComponent().getIdentifier() + " value: "
//               + event.getValue());
//         // StringBuffer buffer = new
//         // StringBuffer(Wirc.getInstance().getGamePad()
//         // .getName());
//         // buffer.append(" at ");
//         // buffer.append(event.getNanos()).append(", ");
//         // buffer.append(comp.getName()).append(" changed to ");
//         //
//         // float value = event.getValue();
//         // if (comp.isAnalog())
//         // {
//         // buffer.append(value);
//         // }
//         // else
//         // {
//         // if (value > 0.9f)
//         // {
//         // buffer.append("On " + value);
//         // }
//         // else
//         // {
//         // buffer.append("Off " + value);
//         // }
//         // }
//         // System.out.println(buffer.toString());
//         // Cam Steuerung
//         if ("ry".equals(event.getComponent().getIdentifier().getName()))
//         {
//
//            if (!wirc.isCamFixed())
//            {
//               if (event.getValue() > 0.3)
//               {
//                  if (event.getValue() < 0.7) // /Test remove
//                  {
//
//                     wirc.setPCD_CH_8((int) (1800 - event.getValue() * (1000)));
//                  }
//               }
//               else if (event.getValue() < -0.3)
//               {
//                  wirc.setPCD_CH_8((int) (1200 + event.getValue() * (-1000)));
//               }
//               else
//               {
//                  wirc.setPCD_CH_8(1500);
//               }
//            }
//         }
//         // Cam Steuerung
//         else if ("rx".equals(event.getComponent().getIdentifier().getName()))
//         {
//            if (!wirc.isCamFixed())
//            {
//
//               if (event.getValue() > 0.3)
//               {
//                  if (event.getValue() < 0.7)
//                  {
//                     wirc.setPCD_CH_7((int) (1200 + event.getValue() * (1000)));
//                  }
//               }
//               else if (event.getValue() < -0.3)
//               {
//                  if (event.getValue() > -0.7)
//                  {
//                     wirc.setPCD_CH_7((int) (1800 - event.getValue() * (-1000)));
//                  }
//               }
//               else
//               {
//                  wirc.setPCD_CH_7(1500);
//               }
//            }
//         }
//         // Fortwaerts und Rueckwaerts
//         else if ("y".equals(event.getComponent().getIdentifier().getName()))
//         {
//            yAchse = event.getValue();
//            // Rueckwaerts
//            if (event.getValue() > 0.3)
//            {
//               motorRs = motorLs = motorL = motorR = (int) (1800 - event
//                     .getValue() * (1000));
//
//            }
//            // Fortwaerts
//            else if (event.getValue() < -0.3)
//            {
//               motorRs = motorLs = motorL = motorR = (int) (1200 + event
//                     .getValue() * (-1000));
//
//            }
//            // Stehenbleiben
//            else
//            {
//               if ((xAchse > -0.3) && (xAchse < 0.3))
//               {
//                  motorRs = motorLs = 1500;
//               }
//
//            }
//
//         }
//
//         // Links und Rechts
//         else if ("x".equals(event.getComponent().getIdentifier().getName()))
//         {
//            xAchse = event.getValue();
//
//            if (yAchse < -0.3)
//            {
//               if (event.getValue() > 0.3)
//               {
//                  motorRs = motorR - (int) (event.getValue() * (1000) - 300);
//                  if (motorRs < 1500)
//                  {
//                     motorRs = 1500;
//                  }
//
//               }
//               else if (event.getValue() < -0.3)
//               {
//                  motorLs = motorL - (int) (event.getValue() * (-1000) - 300);
//                  if (motorLs < 1500)
//                  {
//                     motorLs = 1500;
//                  }
//               }
//            }
//            else if (yAchse > 0.3)
//            {
//
//               if (event.getValue() > 0.3)
//               // Rechts
//               {
//                  motorRs = motorR + (int) (event.getValue() * (1000) - 300);
//                  if (motorRs > 1500)
//                  {
//                     motorRs = 1500;
//                  }
//               }
//               else if (event.getValue() < -0.3)
//               // Links
//               {
//                  motorLs = motorL + (int) (event.getValue() * (-1000) - 300);
//                  if (motorLs > 1500)
//                  {
//                     motorLs = 1500;
//                  }
//               }
//
//            }
//            else if ((yAchse > -0.3) && (yAchse < 0.3))
//            {
//               {
//                  if (event.getValue() > 0.3) // Rechts
//                  {
//                     motorRs = (int) (1800 - event.getValue() * (1000));
//                     motorLs = (int) (1200 + event.getValue() * (1000));
//                  }
//                  else if (event.getValue() < -0.3) // Links
//                  {
//                     motorLs = (int) (1800 - event.getValue() * (-1000));
//                     motorRs = (int) (1200 + event.getValue() * (-1000));
//                  }
//
//                  else
//                  {
//                     motorR = motorL = 1500;
//                  }
//
//               }
//            }
//
//         }
//         else if ("9".equals(event.getComponent().getIdentifier().getName()))
//         {
//            if (event.getValue() == 1)
//            {
//               if (wirc.isCamFixed())
//               {
//                  wirc.setCamFixed(false);
//                  System.out.println("*********************released");
//               }
//               else
//               {
//                  wirc.setCamFixed(true);
//                  System.out.println("****************************fixed");
//               }
//            }
//         }
//      }
//
//      // motor 1
//      wirc.setPCD_CH_1(motorLs);
//
//      // motor 2
//      wirc.setPCD_CH_2(motorRs);

   }

}
